home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / CLiCC-CodeWarrior-0.6.2 / CLiCC-CodeWarrior-0.6.2.sit / clicc-0.6.2 / lib / sys.def < prev    next >
Encoding:
Text File  |  1993-12-16  |  13.3 KB  |  407 lines

  1. ;;;-*-lisp-*-
  2. ;;;-----------------------------------------------------------------------------
  3. ;;; Copyright (C) 1993 Christian-Albrechts-Universitaet zu Kiel, Germany
  4. ;;;-----------------------------------------------------------------------------
  5. ;;; Projekt  : APPLY - A Practicable And Portable Lisp Implementation
  6. ;;;            ------------------------------------------------------
  7. ;;; Funktion : Beschreibung der in C geschriebenen Systemfunktionen 
  8. ;;;
  9. ;;; $Revision: 1.26 $
  10. ;;; $Log: sys.def,v $
  11. ;;; Revision 1.26  1993/11/04  13:45:25  atr
  12. ;;; Die Funktionen catch-internal, unwind-protect-internal und
  13. ;;; progv-internal weiter attributiert mit dem Slot has-funs-as-args.
  14. ;;;
  15. ;;; Revision 1.25  1993/11/04  12:54:02  uho
  16. ;;; Signatur der Funktion rt::system eingefuegt.
  17. ;;;
  18. ;;; Revision 1.24  1993/10/20  10:05:27  hk
  19. ;;; values, values-list, c-fclose, c-fgetc, c-fopen, c-fputc, c-fseek,
  20. ;;; c-ftell, c-ungetc haben Seiteneffekte auf MV-Buffer bzw. Filesystem
  21. ;;;
  22. ;;; Revision 1.23  1993/10/19  11:14:58  atr
  23. ;;; Tippfehler (funcall ... :has-funs-as-args (o)) --> ( ...
  24. ;;; :has-funs-as-args (0))
  25. ;;;
  26. ;;; Revision 1.22  1993/10/19  10:40:56  atr
  27. ;;; Die Slots read- write-list und Data-effects bei der Funktion init-main
  28. ;;; auf Top gesetzt.
  29. ;;;
  30. ;;; Revision 1.21  1993/10/14  13:17:09  sma
  31. ;;; new-struct-internal durch new-struct ersetzt.
  32. ;;;
  33. ;;; Revision 1.20  1993/10/09  18:42:33  atr
  34. ;;; Die Funktion rt::throw-internal hat einen Jump-effect.
  35. ;;; Der Slot has-funs-as-args bei Funcall und apply auf (0) gesetzt.
  36. ;;;
  37. ;;; Revision 1.19  1993/09/16  14:39:05  sma
  38. ;;; Deklaration fuer raw-list-length und simple-assoc
  39. ;;;
  40. ;;; Revision 1.18  1993/08/24  11:15:22  pm
  41. ;;; erweiterungen um C-Pointer-Funktionen
  42. ;;;
  43. ;;; Revision 1.17  1993/07/27  14:06:27  atr
  44. ;;; UNKNOWN durch -1 ersetzt bei den Slots READ und WRITE-LISTS.
  45. ;;; -1 kodiert das statische Level auf dem TOP-LEVEL, imported-funs koennen nur
  46. ;;; auf globale Variablen lesend oder schreibend zugreifen.
  47. ;;;
  48. ;;; Revision 1.16  1993/07/22  08:41:34  pm
  49. ;;; Funktion zum Testen auf C-Trukturen eingehaengt
  50. ;;;
  51. ;;; Revision 1.15  1993/07/21  13:28:14  pm
  52. ;;; Weitere Eintraege fuer dass FFI, bezueglich C-Strukturen
  53. ;;;
  54. ;;; Revision 1.14  1993/07/19  15:14:55  uho
  55. ;;; Unter dem Keyword :NAME stehen in .def-Files jetzt zusaetzlich zum
  56. ;;; Namen des Moduls auch der Name der Initialisierungsfunktion und die
  57. ;;; Symbol-Base (der Name des Tabelle der Symbole im generierten Code).
  58. ;;;
  59. ;;; Revision 1.13  1993/06/30  16:42:53  hk
  60. ;;; Neue Funktionen rt::sxhash-simple-string, rt::sxhash-string und
  61. ;;; rt::combine-hash.
  62. ;;;
  63. ;;; Revision 1.12  1993/06/25  09:07:32  atr
  64. ;;; rt::make-instance-internal ist destruktiv.
  65. ;;;
  66. ;;; Revision 1.11  1993/06/17  09:03:40  hk
  67. ;;; Copyrigth Notiz eingefuegt.
  68. ;;;
  69. ;;; Revision 1.10  1993/05/23  17:44:37  pm
  70. ;;; in C geschrieben Konstruktor-, Test-
  71. ;;; und Konvertierungsfunktionen fuer die primitiven C-Typen
  72. ;;; eingehaengt
  73. ;;;
  74. ;;; Revision 1.9  1993/05/22  05:17:40  ft
  75. ;;; :data-effect -> :data-effects
  76. ;;;
  77. ;;; Revision 1.8  1993/05/21  15:11:04  atr
  78. ;;; die Slots read-list write-list und data-effects eingefuegt.
  79. ;;;
  80. ;;; Revision 1.7  1993/05/20  12:22:39  pm
  81. ;;; Weitere Eintraege fuer das FFI
  82. ;;;
  83. ;;; Revision 1.6  1993/05/12  11:35:55  hk
  84. ;;; rt::symbol-package-index eingetragen.
  85. ;;;
  86. ;;; Revision 1.5  1993/05/11  10:54:37  hk
  87. ;;; first, .., fourth, rest gestrichen.
  88. ;;;
  89. ;;; Revision 1.4  1993/05/08  18:15:30  hk
  90. ;;; rt::set-symbol-plist -> (setf symbol-plist)
  91. ;;;
  92. ;;; Revision 1.3  1993/05/03  12:10:36  pm
  93. ;;; erweiterung um einige Funktionen des FFI
  94. ;;;
  95. ;;; Revision 1.2  1993/04/29  10:29:49  ft
  96. ;;; Erweiterung um asin, acos und atan.
  97. ;;;
  98. ;;; Revision 1.1  1993/04/22  11:01:26  hk
  99. ;;; Initial revision
  100. ;;;
  101. ;;;-----------------------------------------------------------------------------
  102.  
  103. :sys T
  104. :name "sys" "Isys" "Ssys"
  105. :package "LISP"
  106.  
  107. :fun
  108. (* :par-spec -1 :adr "Fmult")
  109. (+ :par-spec -1 :adr "Fplus")
  110. (- :par-spec -2 :adr "Fminus")
  111. (/ :par-spec -2 :adr "Fdiv")
  112. (/= :par-spec -2 :adr "Fnumneql")
  113. (1+ :par-spec 1 :adr "F1plus")
  114. (1- :par-spec 1 :adr "F1minus")
  115. (< :par-spec -2 :adr "Flt")
  116. (<= :par-spec -2 :adr "Fle")
  117. (= :par-spec -2 :adr "Fnumeql")
  118. (> :par-spec -2 :adr "Fgt")
  119. (>= :par-spec -2 :adr "Fge")
  120. (acos :par-spec 1)
  121. (adjustable-array-p :par-spec 1)
  122. (alpha-char-p :par-spec 1)
  123. (alphanumericp :par-spec 1)
  124. (append :par-spec -1 :data-effects :alloc )
  125. (apply :par-spec -3 :mv-spec t :has-funs-as-args (0))
  126. (array-has-fill-pointer-p :par-spec 1)
  127. (array-rank :par-spec 1)
  128. (array-total-size :par-spec 1)
  129. (arrayp :par-spec 1)
  130. (asin :par-spec 1)
  131. (atan :par-spec -2)
  132. (atom :par-spec 1)
  133. (both-case-p :par-spec 1)
  134. (boundp :par-spec 1)
  135. (char-code :par-spec 1)
  136. (char-downcase :par-spec 1)
  137. (char-equal :par-spec -2)
  138. (char-greaterp :par-spec -2)
  139. (char-int :par-spec 1)
  140. (char-lessp :par-spec -2)
  141. (char-name :par-spec 1)
  142. (char-not-equal :par-spec -2)
  143. (char-not-greaterp :par-spec -2)
  144. (char-not-lessp :par-spec -2)
  145. (char-upcase :par-spec 1)
  146. (char/= :par-spec -2)
  147. (char< :par-spec -2)
  148. (char<= :par-spec -2)
  149. (char= :par-spec -2)
  150. (char> :par-spec -2)
  151. (char>= :par-spec -2)
  152. (characterp :par-spec 1)
  153. (compiled-function-p :par-spec 1 :adr "Ffunctionp")
  154. (cons :par-spec 2 :data-effects :alloc)
  155. (consp :par-spec 1)
  156. (cos :par-spec 1)
  157. (eq :par-spec 2)
  158. (eql :par-spec 2)
  159. (evenp :par-spec 1)
  160. (fill-pointer :par-spec 1)
  161. (floatp :par-spec 1)
  162. (funcall :par-spec -2 :mv-spec t :has-funs-as-args (0))
  163. (functionp :par-spec 1)
  164. (graphic-char-p :par-spec 1)
  165. (integer-length :par-spec 1)
  166. (integerp :par-spec 1)
  167. (list :par-spec -1 :data-effects :alloc)
  168. (list* :par-spec -2 :data-effects :alloc)
  169. (listp :par-spec 1)
  170. (lower-case-p :par-spec 1)
  171. (make-symbol :par-spec 1 :data-effects :alloc)
  172. (makunbound :par-spec 1  :data-effects :dest)
  173. (minusp :par-spec 1)
  174. (name-char :par-spec 1)
  175. (not :par-spec 1)
  176. (null :par-spec 1 :adr "Fnot" )
  177. (numberp :par-spec 1)
  178. (oddp :par-spec 1)
  179. (plusp :par-spec 1)
  180. (set :par-spec 2 :write-list -1)
  181. (simple-string-p :par-spec 1)
  182. (simple-vector-p :par-spec 1)
  183. (sin :par-spec 1)
  184. (sqrt :par-spec 1)
  185. (standard-char-p :par-spec 1)
  186. (string-char-p :par-spec 1)
  187. (stringp :par-spec 1)
  188. (symbol-name :par-spec 1  :read-list -1)
  189. (symbol-package :par-spec 1 :read-list -1 )
  190. (symbol-plist :par-spec 1 :read-list -1 )
  191. ((setf symbol-plist) :par-spec 2 :data-effects :dest :read-list -1)
  192. (symbol-value :par-spec 1 :read-list -1)
  193. (symbolp :par-spec 1)
  194. (tan :par-spec 1)
  195. (upper-case-p :par-spec 1)
  196. (values :par-spec -1 :mv-spec t :write-list -1)
  197. (values-list :par-spec 1 :write-list -1)
  198. (vectorp :par-spec 1)
  199. (zerop :par-spec 1)
  200.  
  201. (rt::%car :par-spec 1)
  202. (rt::%cdr :par-spec 1)
  203. (rt::%logand :par-spec 2)
  204. (rt::%logior :par-spec 2)
  205. (rt::%lognot :par-spec 1)
  206. (rt::%logxor :par-spec 2)
  207. (rt::%rplaca :par-spec 2 :data-effects :dest)
  208. (rt::%rplacd :par-spec 2 :data-effects :dest)
  209. (rt::%shift-left :par-spec 2)
  210. (rt::%shift-right :par-spec 2)
  211. (rt::%vector-length :par-spec 1)
  212. (rt::array-dimension-internal :par-spec 2)
  213. (rt::array-element-type-internal :par-spec 1)
  214. (rt::c-argc :par-spec 0)
  215. (rt::c-argv :par-spec 0)
  216. (rt::c-fclose :par-spec 1 :data-effects :dest)
  217. (rt::c-fgetc :par-spec 1 :data-effects :dest)
  218. (rt::c-file-length :par-spec 1)
  219. (rt::c-fopen :par-spec 2 :data-effects :alloc)
  220. (rt::c-fputc :par-spec 2 :data-effects :dest)
  221. (rt::c-fseek :par-spec 2 :data-effects :dest)
  222. (rt::c-ftell :par-spec 1 :data-effects :dest)
  223. (rt::c-getenv :par-spec 1)
  224. (rt::c-stdin :par-spec 0)
  225. (rt::c-stdout :par-spec 0)
  226. (rt::c-system :par-spec 1)
  227. (rt::c-ungetc :par-spec 2 :data-effects :dest)
  228. (rt::catch-internal :par-spec 2 :mv-spec t :has-funs-as-args (1))
  229. (rt::ceiling-internal :par-spec 2 :mv-spec 2)
  230. (rt::char-internal :par-spec 2)
  231. (rt::code-char-internal :par-spec 1)
  232. (rt::digit-char-internal :par-spec 2)
  233. (rt::digit-char-p-internal :par-spec 2)
  234. (rt::displace-array :par-spec 2)
  235. (rt::expt-internal :par-spec 2)
  236. (rt::fixnum-high-p :par-spec 2)
  237. (rt::fixnum-low-p :par-spec 2)
  238. (rt::float-internal :par-spec 1)
  239. (rt::floor-internal :par-spec 2 :mv-spec 2)
  240. (rt::init-main :par-spec 0 :adr "Imain" :write-list -1 :read-list -1 
  241. :data-effects :alloc-dest-jump )
  242. (rt::init-keysort :par-spec 1)
  243. (rt::instance-ref :par-spec 2)
  244. (rt::instance-set :par-spec 3 :data-effects :dest)
  245. (rt::instancep :par-spec 1)
  246. (rt::log-internal :par-spec 2)
  247. (rt::make-array-internal :par-spec -7 :data-effects :alloc)
  248. (rt::make-instance-internal :par-spec 1 :data-effects :dest)
  249. (rt::make-string-internal :par-spec 2 :data-effects :alloc)
  250. (rt::make-vector-internal :par-spec 6 :data-effects :alloc)
  251. (rt::new-struct :par-spec 2 :data-effects :alloc)
  252. (rt::progv-internal :par-spec 3 :mv-spec t :write-list -1 :has-funs-as-args (2))
  253. (rt::round-internal :par-spec 2 :mv-spec 2)
  254. (rt::row-major-aref-internal :par-spec 2)
  255. (rt::schar-internal :par-spec 2)
  256. (rt::set-char-internal :par-spec 3 :data-effects :dest)
  257. (rt::set-constant-flag :par-spec 1 :data-effects :dest)
  258. (rt::set-fill-pointer-internal :par-spec 2 :data-effects :dest)
  259. (rt::set-row-major-aref-internal :par-spec 3 :data-effects :dest)
  260. (rt::set-schar-internal :par-spec 3 :data-effects :dest)
  261. (rt::set-slot-unbound :par-spec 2 :data-effects :dest)
  262. (rt::set-struct-ref-internal :par-spec 3 :data-effects :dest)
  263. (rt::set-svref-internal :par-spec 3 :data-effects :dest)
  264. (rt::set-symbol-package :par-spec 2 :data-effects :dest)
  265. (rt::setup-symbols-iterator :par-spec 2 :data-effects :dest)
  266. (rt::shrink-vector :par-spec 2 :data-effects :dest)
  267. (rt::simple-array-p :par-spec 1)
  268. (rt::string-hash :par-spec 2)
  269. (rt::sxhash-simple-string :par-spec 1)
  270. (rt::sxhash-string :par-spec 1)
  271. (rt::combine-hash :par-spec 2)
  272. (rt::struct-ref-internal :par-spec 2)
  273. (rt::struct-size :par-spec 1)
  274. (rt::struct-type :par-spec 1)
  275. (rt::structp :par-spec 1)
  276. (rt::svref-internal :par-spec 2 :data-effects :dest)
  277. (rt::symbol-package-index :par-spec 1)
  278. (rt::throw-internal :par-spec -2 :mv-spec :JUMP :data-effects :jump)
  279. (rt::truncate-internal :par-spec 2 :mv-spec 2)
  280. (rt::unbound-value-p :par-spec 1 :read-list -1 )
  281. (rt::unix-current-directory :par-spec 0 :mv-spec 2)
  282. (rt::unix-file-mode :par-spec 1)
  283. (rt::unix-link-mode :par-spec 1)
  284. (rt::unix-readlink :par-spec 1 :mv-spec t)
  285. (rt::unwind-protect-internal :par-spec 2 :mv-spec t :has-funs-as-args (0 1))
  286.  
  287. (rt::raw-list-length :par-spec 1)
  288. (rt::simple-assoc :par-spec 2)
  289.  
  290. ;; FFI
  291. (rt::make-c-char :par-spec 1)
  292. (rt::make-c-short :par-spec 1)
  293. (rt::make-c-int :par-spec 1)
  294. (rt::make-c-long :par-spec 1)
  295. (rt::make-c-unsigned-char :par-spec 1)
  296. (rt::make-c-unsigned-short :par-spec 1)
  297. (rt::make-c-unsigned-int :par-spec 1)
  298. (rt::make-c-unsigned-long :par-spec 1)
  299. (rt::make-c-float :par-spec 1)
  300. (rt::make-c-double :par-spec 1)
  301. (rt::make-c-long-double :par-spec 1)
  302. (rt::make-lisp-character :par-spec 1)
  303. (rt::make-lisp-integer :par-spec 1)
  304. (rt::make-lisp-float :par-spec 1)
  305. (rt::c-char-p :par-spec 1)
  306. (rt::c-short-p :par-spec 1)
  307. (rt::c-int-p :par-spec 1)
  308. (rt::c-long-p :par-spec 1)
  309. (rt::c-unsigned-char-p :par-spec 1)
  310. (rt::c-unsigned-short-p :par-spec 1)
  311. (rt::c-unsigned-int-p :par-spec 1)
  312. (rt::c-unsigned-long-p :par-spec 1)
  313. (rt::c-float-p :par-spec 1)
  314. (rt::c-double-p :par-spec 1)
  315. (rt::c-long-double-p :par-spec 1)
  316. (rt::internal-make-c-struct :par-spec 2)
  317. (rt::internal-c-struct-p :par-spec 2)
  318. (rt::internal-get-struct-pointer :par-spec 1)
  319. (rt::c-struct-p :par-spec 1)
  320. (rt::make-c-char-ptr :par-spec 1)
  321. (rt::make-c-short-ptr :par-spec 1)
  322. (rt::make-c-int-ptr :par-spec 1)
  323. (rt::make-c-long-ptr :par-spec 1)
  324. (rt::make-c-unsigned-char-ptr :par-spec 1)
  325. (rt::make-c-unsigned-short-ptr :par-spec 1)
  326. (rt::make-c-unsigned-int-ptr :par-spec 1)
  327. (rt::make-c-unsigned-long-ptr :par-spec 1)
  328. (rt::internal-make-c-struct-ptr :par-spec 1)
  329. (rt::internal-c-struct-ptr-p :par-spec 2)
  330.  
  331. :sym
  332. (NIL :ADR 0 :CONSTANT-VALUE :UNKNOWN)
  333. (T :ADR 1 :CONSTANT-VALUE :UNKNOWN)
  334.  
  335. :eof
  336.  
  337. ;;(acosh :par-spec 1)
  338. ;;(asinh :par-spec 1)
  339. ;;(atanh :par-spec 1)
  340. ;;(bit-vector-p :par-spec 1)
  341. ;;(boole :par-spec 3)
  342. ;;(cerror :par-spec -3)
  343. ;;(character :par-spec 1)
  344. ;;(cis :par-spec 1)
  345. ;;(clear-input :par-spec -1)
  346. ;;(clear-output :par-spec -1)
  347. ;;(complex :par-spec -2)
  348. ;;(constantp :par-spec 1)
  349. ;;(cosh :par-spec 1)
  350. ;;(decode-universal-time :par-spec -1)
  351. ;;(delete-file :par-spec 1)
  352. ;;(documentation :par-spec 2)
  353. ;;(encode-universal-time :par-spec -7)
  354. ;;(exp :par-spec 1)
  355. ;;(fceiling :par-spec -2 :mv-spec 2)
  356. ;;(ffloor :par-spec -2 :mv-spec 2)
  357. ;;(file-author :par-spec 1)
  358. ;;(file-string-length :par-spec 2)
  359. ;;(file-write-date :par-spec 1)
  360. ;;(finish-output :par-spec -1)
  361. ;;(force-output :par-spec -1)
  362. ;;(fround :par-spec -2 :mv-spec 2)
  363. ;;(ftruncate :par-spec -2 :mv-spec 2)
  364. ;;(gcd :par-spec -1)
  365. ;;(get-decoded-time :par-spec 0)
  366. ;;(get-internal-real-time :par-spec 0)
  367. ;;(get-internal-run-time :par-spec 0)
  368. ;;(get-universal-time :par-spec 0)
  369. ;;(imagpart :par-spec 1)
  370. ;;(lcm :par-spec -2)
  371. ;;(listen :par-spec -1)
  372. ;;(logbitp :par-spec 2)
  373. ;;(logcount :par-spec 1)
  374. ;;(logtest :par-spec 2)
  375. ;;(merge :par-spec -5)
  376. ;;(nintersection :par-spec -3)
  377. ;;(nset-difference :par-spec -3)
  378. ;;(nset-exclusive-or :par-spec -3)
  379. ;;(nsubstitute :par-spec -4)
  380. ;;(nsubstitute-if :par-spec -4)
  381. ;;(nsubstitute-if-not :par-spec -4)
  382. ;;(phase :par-spec 1)
  383. ;;(provide :par-spec 1)
  384. ;;(read-char-no-hang :par-spec -1)
  385. ;;(realpart :par-spec 1)
  386. ;;(rename-file :par-spec 2)
  387. ;;(require :par-spec -2)
  388. ;;(set-exclusive-or :par-spec -3)
  389. ;;(signum :par-spec 1)
  390. ;;(sinh :par-spec 1)
  391. ;;(sleep :par-spec 1)
  392. ;;(special-form-p :par-spec 1)
  393. ;;(stable-sort :par-spec -3)
  394. ;;(substitute-if :par-spec -4)
  395. ;;(substitute-if-not :par-spec -4)
  396. ;;(tanh :par-spec 1)
  397. ;;(user-homedir-pathname :par-spec -1)
  398.  
  399. ;;(load :par-spec -2)
  400. ;;(applyhook :par-spec -5)
  401. ;;(compile :par-spec -2)
  402. ;;(compile-file :par-spec -2)
  403. ;;(compile-file :par-spec 1)
  404. ;;(eval :par-spec 1)
  405. ;;(evalhook :par-spec -4)
  406. ;;(make-char :par-spec 1)
  407.